home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 114 / CDRom114.iso / internet / extens / imtool / Image Toolbar.xpi / install.js next >
Encoding:
Text File  |  2004-11-09  |  2.5 KB  |  74 lines

  1. const author              = "Ben Basson (Cusser)";
  2. const displayName         = "Image Toolbar";
  3. const name                = "imagetoolbar";
  4. const version             = "0.5";
  5.  
  6. const jarName             = name + ".jar";
  7. const existsInApplication = File.exists(getFolder(getFolder("chrome"), jarName));
  8.  
  9. var contentFlag = CONTENT | PROFILE_CHROME;
  10. var error       = null;
  11. var folder      = getFolder("Current User", "chrome");
  12. var localeFlag  = LOCALE | PROFILE_CHROME;
  13. var skinFlag    = SKIN | PROFILE_CHROME;
  14.  
  15. const existsInProfile = File.exists(getFolder(folder, jarName));
  16.  
  17. // If the extension exists in the application folder or it doesn't exist in the profile folder and the user doesn't want it installed to the profile folder
  18. if(existsInApplication || (!existsInProfile && !confirm("Do you want to install the " + displayName + " extension into your profile folder?\n(Cancel will install into the application folder)")))
  19. {
  20.     contentFlag = CONTENT | DELAYED_CHROME;
  21.     folder      = getFolder("chrome");
  22.     localeFlag  = LOCALE | DELAYED_CHROME;
  23.     skinFlag    = SKIN | DELAYED_CHROME;
  24. }
  25.  
  26. initInstall(displayName, name, version);
  27. setPackageFolder(folder);
  28. error = addFile(name, version, "chrome/" + jarName, folder, null);
  29.  
  30. // If adding the JAR file succeeded
  31. if(error == SUCCESS)
  32. {
  33.     folder = getFolder(folder, jarName);
  34.  
  35.     registerChrome(contentFlag, folder, "content/" + name + "/");
  36.     registerChrome(localeFlag, folder, "locale/en-US/" + name + "/");
  37.     registerChrome(skinFlag, folder, "skin/classic/" + name + "/");
  38.  
  39.     error = performInstall();
  40.  
  41.     // If the install failed
  42.     if(error != SUCCESS && error != 999 && error != -239)
  43.     {
  44.         displayError(error);
  45.         cancelInstall(error);
  46.     }
  47.     else
  48.     {
  49.         alert("The installation of the " + displayName + " extension succeeded.");
  50.     }
  51. }
  52. else
  53. {
  54.     displayError(error);
  55.     cancelInstall(error);
  56. }
  57.  
  58. // Displays the error message to the user
  59. function displayError(error)
  60. {
  61.     // If the error code was -215
  62.     if(error == -215)
  63.     {
  64.         alert("The installation of the " + displayName + " extension failed.\nOne of the files being overwritten is read-only.");
  65.     }
  66.     else if(error == -235)
  67.     {
  68.         alert("The installation of the " + displayName + " extension failed.\nThere is insufficient disk space.");
  69.     }
  70.     else
  71.     {
  72.         alert("The installation of the " + displayName + " extension failed.\nThe error code is: " + error);
  73.     }
  74. }